package com.cloud.api.annotation;

import java.lang.annotation.*;

@Target({ElementType.METHOD,ElementType.LOCAL_VARIABLE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
public @interface LocalLock {

    /**
     * 过期时间，默认不过期，单位是毫秒值
     * @return
     */
    long expire() default 3L;

    /**
     * 获取锁的超时时间,单位：毫秒值  -1L为一直获取锁
     * @return
     */
    long acquireTimeout() default 3000L;

    /**
     * 锁的key,key值是 localLock_requestUri_key
     */
    String key() default "defaultKey";
    /**
     * 传入的变量值：#{user.id}、#{id}
     * @return
     */
    String value() default "";
}
